<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type"
	content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Fix Pass</title>
</head>
<body>
<h1>Test Pass Two: JDT-UI, JDT Text, Platform Compare, Platform Text,
and Platform Search</h1>
<h3>Goal</h3>
<ul>
	<li><font color="#000000">test corner cases</font></li>
	
  <li>test setups which we typically don't use during development (for example 
    no Plug-in development)<font color="#000000"></font></li>
	<li><font color="#000000">handling of error situations</font>
	<ul>
		<li><font color="#000000">watch log</font></li>
		<li><font color="#000000">error messages</font></li>
	</ul>
	</li>
</ul>
<h3>General Items (everybody)</h3>
<ul>
	<li>Watch for missing mnemonics, wrong initial focus in dialogs, status
	line information</li>
	<li>Whenever you have to fill in data in dialogs try to foul the dialog
	by providing incomplete or bogus input</li>
	<li>Watch for view updating (package explorer, browsing perspective,
	outliner) when source content gets changed</li>
</ul>
<h3>Use of different fonts (everybody)</h3>
<ul>
	<li>change font for text editor and dialogs to different font</li>
	<li>check that dialogs are rendered correctly
	<ul>
		<li>specified dialog font is used</li>
		<li>no buttons and labels clipped</li>
	</ul>
	</li>
</ul>
<h3>Workspace Setup</h3>
<p>Setup workspace in a way unusual compared to your normal setup.
Testing should take place in one of the following workspace setups. When
setting up the workspace test also the functionality to setup this
workspace style:</p>
<ul>
	<li>use external projects (Dirk &amp; Martin)</li>
	<li>use linked resources (Andre &amp; Tom)
	<ul>
		<li><font color="#000000">linked output folders</font></li>
		<li><font color="#000000">linked source folders</font></li>
		<li><font color="#000000">linked and nested source folders</font></li>
		<li>test rendering in views<font color="#000000"></font></li>
		<li><font color="#000000">linked class folders</font></li>
	</ul>
	</li>
	<li>use multiple output folder (Danny)</li>
	<li>use combination of exclusion &amp; inclustion filters (Christof)</li>
	<li>use user defined library containers (JUnit as a user defined
	library) (Michael, Carolyn)
	<ul>
		<li>quick fixes for unbound user libraries</li>
		<li>quick fixes for build path problems</li>
	</ul>
	</li>
	<li>full source workspace (Thomas)</li>
</ul>
<h3>Java Editor in Single Method mode (Dirk, Christof, Danny, Thomas)</h3>
<ul>
	<li>half of the team should test with editor in single edit mode</li>
	
  <li>corner cases 
    <ul>
		
      <li>combinations of segmented mode, formatting, un/redo</li>
	</ul>
	</li>
</ul>
<h3>Multiple Windows (Martin, Christof, Thomas, Tom)</h3>
<ul>
	<li>half of the team tests with multiple windows.</li>
	<li>switch between windows for different actions</li>
	<li>watch for wrong window poping to front</li>
	<li>watch for wrong dialog parenting</li>
</ul>
<h3>Multiple Editor Areas (Martin, Carolyn, Christof, Danny)</h3>
<ul>
	<li>test with multiple editor areas, i.e. multiple editor tab folders</li>
	<li>watch for focus problems</li>
	<li>watch for positioning problems when opening dialogs and info pops</li>
</ul>
<h3>Browsing perspective (Andre, Michael, Thomas, Danny)</h3>
<ul>
	<li>half of the team tests in browsing perspective</li>
</ul>
<h3>Automatic workspace refresh (Martin, Michael, Carolyn, Thomas)</h3>
<ul>
	<li>half of the team tests wth automatic workspace refresh enabled
	(Preferences-&gt;Workbench-&gt;Refresh workspace automatically</li>
</ul>
<h3>Refactoring / Source actions with multiple elements selected (Martin, Andre)</h3>
<ul>
	<li>test refactoring and source actions with multiple elements selected</li>
	<li>action not working on multiple elements should be disabled</li>
	<li>dialog (if any) should &quot;consider&quot; selected elements</li>
</ul>
<h3>Refactoring / Source actions and file encoding (Tom, Dirk)</h3>
<ul>
	<li>test refactoring and source actions with files with different encodings</li>
	<li>create files with invalid encoding (for example folder UTF-8 encoding, file with Latin1 encoding, but encoding not set)
	<ul>
		<li>refactoring &amp; source actions should be disabled on those files, no exception in log.</li>
		<li>files can't be used as a DnD target</li>
	</ul>
	</li>
</ul>
<h3>Hierarchical Layout in Package Explorer and Packages View (Thomas)</h3>
<ul>
	<li>test add and delete of package<font color="#000000"></font></li>
	<li>test add and remove of compilation units to empty leaf and non leaf
	packages<font color="#000000"></font></li>
	<li>test filters which filter packages (empty parent package, empty
	package, ....)</li>
	<li>test logical packages in packages view</li>
</ul>
<h3>Operations and Locked Workspace (Danny)</h3>
<ul>
	<li>To lock the workspace use the org.eclipse.ui.examples.job plug-in
	from the Eclipse repository</li>
	<li>Test Edit, Source and Refactoring actions when the workspace is
	locked</li>
	<li>Test modifying project properties (build path, compiler settings,
	...) when workspace is locked</li>
	<li>You should always get the blocking dialog</li>
	<li>Cancel the user action. Make sure that no OperationCancelException
	or other exceptions appear in the log</li>
</ul>
<h3>Validate-Edit (Michael)</h3>
<ul>
	<li>Check-out code from the repository in CVS Watch/Edit mode (stores
	file in read-only mode)</li>
	<li>Test Edit, Source and Refactoring actions on files that are
	read-only</li>
	<li>Check the new editor functions explicitly. Check if available the
	functions in the default text editor.
	<ul>
		<li>move lines</li>
		<li>copy lines on move</li>
		<li>to upper case, to lower case</li>
		<li>smart ;{</li>
		<li>add/remove block comment</li>
		<li>correct indentation</li>
		<li>toggle comment</li>
	</ul>
	</li>
	<li>Expected result: actions should complete without errors</li>
</ul>
<h3>Search - enhanced (Dirk)</h3>
<ul>
	<li>Removing selected matches from the tree view: make sure the correct
	items are removed.</li>
	<li>Navigation (previous, next) in the tree view: cases where we have
	matches in inner nodes</li>
	<li>Match highlighting and editing/refactoring/source operations (for
	example organize imports): make sure highlights are properly updated.</li>
	<li>Multilple background searches: test cancel and switching between
	multiple background searches</li>
	<li>Mulit-window behaviour: switching between searches, search shows up
	in right window</li>
	<li>Text Search/Replace behaviour
	<ul>
		<li>Test replace, replace all in file, replace all, skip, skip file</li>
		<li>Search &amp; Replace with regular expessions</li>
		<li>Make sure changes by internal or external editing are detected
		before replacing</li>
		<li>Editor reuse</li>
	</ul>
	</li>
	<li>test the flat layout search result layout</li>
	<li>Java Search
	<ul>
		<li>test the new filter dialog</li>
		<li>test limit for number of top level elements (customizable by
		filter dialog)
		<ul>
			<li>switch between project and type mode with lots of matches so that
			in type mode the top level elements are limited</li>
		</ul>
		</li>
		<li>test search for local variables</li>
		<li>test potential matches</li>
	</ul>
	</li>
</ul>

<h3>JUnit - enhanced (Thomas) </h3>
<ul>
	<li>run a single test method</li>
	<li>run a single test</li>
	<li>run all tests inside a package, source folder, project</li>
	<li>change lanuch configs from single test to all tests and vice versa</li>
	<li>generating of test cases using the test case wizard</li>
</ul>
<h3><font color="#000000">Workspace compatibility (Danny)</font></h3>
<ul>
	<li>upgrade a 2.1 workspace to 3.0</li>
	<li>ensure that all settings are migrated/taken correctly (except code formatter)</li>
</ul>

<h3>Javadoc (Christof)</h3>
<ul>
	<li>Javadoc for libraries (rt.jar) class, source folders
	<ul>
		<li>Test that Shift+F2 opens correct Javadoc</li>
		<li>Test Javadoc in archives, URL or file location</li>
	</ul>
	</li>
	<li>Generation of Javadoc (use of Export to Javadoc)</li>
</ul>

<h3>Refactoring (Danny)</h3>
<ul>
	<li>Test refactoring undo/redo
	<ul>
		<li>perform undo/redo with unsaved files not affected by the undo</li>
		<li>perform undo/redo with unsaved files effected by the undo.</li>
		<li>perform build after refactoring and ensure that undo is still
		possible.</li>
		<li>test executing multiple refactorings and then the corresponding
		undo/redo sequence</li>
		<li>change Java element (e.g save file): ensure that undo stack gets
		flushed.</li>
	</ul>
	</li>
	<li>Sanity check
	<ul>
		<li>Introduce Paramter, Introduce Factory, Generalize Type
		refactorings</li>
		<li>Move of public static final fields between classes and interfaces
		and static inner types between classes</li>
		<li>Excpetion support in change method signature refactoring</li>
	</ul>
	</li>
</ul>
<h3>Source Actions (Michael)</h3>
<ul>
	<li>Sanity check source actions (Override/Implements, Generate
	getter/setter, Generate Delegate methods, Constructor using fields, Add
	Constructor from Superclass and Add Javadoc comment)</li>
	<li>check code generation insertion point (where available)</li>
	<li>Javadoc generation for new method</li>
	<li>Visibility control for new methods</li>
	<li>Sort Members actions: check sorting members within a category by
	visibility</li>
</ul>
<h3>Compilation Units not on Build Path (Michael)</h3>
<ul>
	<li>Test Edit, Source and Refactoring actions for compilation units not
	on the build path.</li>
	<li>Test for:
	<ul>
		<li>editors opened on repository files</li>
		<li>editors opened on Java file excluded from the build path</li>
		<li>editors opened on Java files stored in Simple projects</li>
	</ul>
	</li>
	<li>Actions should either operate without an error, not be present or
	present a dialog that the CU is not on the build path</li>
</ul>

<h3>Compare (Martin)</h3>
<ul>
	<li>exercise &quot;Compare with Each Other&quot; on files with
	different encodings</li>
	<li>exercise &quot;Compare with Each Other&quot; and new Progress
	Services: compare large folder hierarchies containing large files with
	lots of differences</li>
	<li>exercise &quot;Compare with local history&quot; on files with different explicit and implicit encodings (see bug #59232 which contains test data; please note that due to platform limitation #61986 the local history isn't able to track encoding changes over time; the encoding of a history entry is always the same as the underlying resource)</li>
	<li>Mac OS X: test fast scrolling of large files and moving the sashes in the Compare editor (see bug #55876 and #65205 for details).</li>
</ul>
<h3><font color="#000000"></font>Additional text items</h3>
<h4>New editor functionality</h4>
<p>Sanity check new editor functionality. Where available in the default text 
  editor. In case of selection changing action check whether selection sensitive 
  actions such as 'cut' get enabled/disabled and the caret indication in the status 
  line gets updated.</p>
<h5>Block 1 ( Tom)</h5>
<ul>
  <li>move lines</li>
  <li>copy lines on move</li>
  <li>to upper case, to lower case</li>
  <li>smart ;{</li>
  <li>add/remove block comment</li>
  <li>correct indentation</li>
  <li>toggle comment</li>
  <li>word/camel case navigation</li>
  <li>smart home/end</li>
  <li>typing modes</li>
  <li>caret width</li>
  <li>linked mode improvements and customization</li>
  <li>go to next/previous annotation (configurable)</li>
  <li>incremental content assist</li>
  <li>roll over hovers</li>
  <li>italic syntax highlighting</li>
  <li>background highlighting for annotations</li>
  <li>control visibility of annotations in the vertical ruler</li>
  <li>override indicators</li>
  <li>mark occurrences</li>
</ul>
<h5>Block 2 (Carolyn)</h5>
<ul>
  <li>quick diff</li>
  <li>semantic syntax highlighting
    <ul>
      <li>enabling/disabling of individual items</li>
    </ul>
  </li>
  <li>Java doc formatting</li>
  <li>format element</li>
  <li>quick outline 
    <ul>
      <li>inherited members</li>
      <li>resize shell</li>
      <li>move shell</li>
      <li>filters, top level element</li>
    </ul>
  </li>
  <li>Find/Replace 
    <ul>
      <li>content assist</li>
      <li>regex</li>
    </ul>
  </li>
  <li>templates 
    <ul>
      <li>create/edit/remove templates</li>
      <li>restore templates to default</li>
    </ul>
  </li>
</ul>
<h5>Block 3 (Carolyn, Christof)</h5>
<ul>
	<li>Folding
	<ul>
		<li>preference settings</li>
		<li>initial folding</li>
		
      <li>interaction (auto expansion, selection stability, redraw behavior) with 
        actions such as 
        <ul>
          <li>incremental find</li>
          <li>find/replace, replace all</li>
          <li>format element</li>
          <li>format</li>
          <li>un/redo</li>
          <li>correct indentation</li>
          <li>shift right/left</li>
          <li>cut, copy, paste, delete</li>
        </ul>
		</li>
		<li>corner cases
		<ul>
          <li>folding, formatting, un/redo</li>
          <li>switching between segmented mode and folding</li>
          <li>revert</li>
        </ul>
		</li>
	</ul>
	</li>
</ul>
<h4>File buffers with annotation model suport (Martin)</h4>
<ul>
	<li>files open in multiple, different editors, check hot updating of
	content and annotations</li>
	<li>refactor/format files not open in editor, checking the update of
	markers and search results</li>
	<li>encoding scenarios
	<ul>
		<li>set and change explicit encoding</li>
		<li>work with content/parent derrived encoding</li>
		<li>corner case: test for workspace and external files</li>
	</ul>
	</li>
</ul>
<h4>Memory scenarios (Carolyn)</h4>
<ul>
	<li>Replace all 'e' by xxx in a larger file in the default editor and
	Java editor</li>
	<li>Shift all lines to the right in a larger file in the default and
	the Java editor</li>
	<li>Comment all lines in a larger file in the Java editor</li>
</ul>
</body>
</html>
